Skip to main content

Auslesen des Zustands des Interpolators

Sehen Sie hierzu das Beispielprojekt CNC13_ReadInterpolatorState.project im Installationsverzeichnis von CODESYS unter ..\CODESYS SoftMotion\Examples.

Das Beispielprojekt zeigt, wie der Zustand des CNC-Interpolators ausgelesen werden kann. Der Zustand wird verwendet, um die Position der Maschine sowohl in Maschinen- als auch in Decoder-Koordinaten anzuzeigen.

Aufbau der Applikation

Der Aufbau ist für CNC-Applikationen typisch. In der Hintergrund-Task wird der G-Code eingelesen. In der Bustask wird die Interpolation ausgeführt.

Während der Interpolation wird der Funktionsbaustein SMC_ReadAdditionalIpoState aufgerufen.

Sobald die Interpolation beginnt, ist der Ausgang Valid TRUE. Die Position des Interpolators, die immer im Maschinenkoordinatensystem (MCS) ausgegeben wird, wird dann mithilfe des aktuellen Decoder-Koordinatensystems (DCS) umgewandelt und in der Visualisierung ausgegeben.

SMC_V3_Set(pos_MCS, ipo.piSetPosition.dX, ipo.piSetPosition.dY, ipo.piSetPosition.dZ);

readState(
    Enable:= TRUE,
    ipo:= ipo);

IF readState.Valid THEN
    SMC_PosInfo_Trf_Inverse(
        piOut:= piMCS_to_DCS,
        piIn:= readState.State.DCS,
        eOriConv:= readState.State.OriConv);

     SMC_PosInfo_Trf_Apply(
        vDst:= pos_DCS,
        piTrf:= piMCS_to_DCS,
        vSrc:= pos_MCS,
        eOriConv:= readState.State.OriConv);
END_IF

Für weitere Informationen zum Decoder-Koordinatensystem siehe:Koordinatensystem schieben, drehen und skalieren.

Inbetriebnahme

  1. Übersetzen Sie die Applikation und laden Sie sie auf eine Steuerung.

  2. Öffnen Sie die Visualisierung.

  3. Starten Sie die Applikation, drücken Sie auf die Schaltfläche Start der Visualisierung.

    Sie können die Bewegung der X- und Y-Koordinate im MCS und DCS nachvollziehen.